Three dimensional (3D) modeling may allow a user to view a virtual device that appears substantially similar to a physical device that the virtual device represents. Modeling a device with multiple versions may require the creation of a separate model for each version. Modeling a highly modular device may require the creation of a very large number of models to display all possible permutations. Each model of a modular device may be distinct from other models, which may result in the need to store, transmit, and process each model separately. A system may be unsure which versions of a device the user wishes to view prior to run time, which may require that all models be loaded at run time resulting in significant processing delays. Related models may also comprise substantial amounts of redundant data resulting in significant data storage requirements. 3D models of a highly modular device may also be difficult to update as a change must be made to each model individually and may not be automatically propagated to all related models.